diff --git a/system/core/Loader.php b/system/core/Loader.php
index 4d95d62..1ad07f1 100644
--- a/system/core/Loader.php
+++ b/system/core/Loader.php
@@ -205,7 +205,7 @@
 			return;
 		}
 
-		if ( ! is_null($params) && ! is_array($params))
+		if ($params !== NULL && ! is_array($params))
 		{
 			$params = NULL;
 		}
@@ -975,7 +975,7 @@
 					// Before we deem this to be a duplicate request, let's see
 					// if a custom object name is being supplied. If so, we'll
 					// return a new instance of the object
-					if ( ! is_null($object_name))
+					if ($object_name !== NULL)
 					{
 						$CI =& get_instance();
 						if ( ! isset($CI->$object_name))
@@ -1014,7 +1014,7 @@
 					// Before we deem this to be a duplicate request, let's see
 					// if a custom object name is being supplied. If so, we'll
 					// return a new instance of the object
-					if ( ! is_null($object_name))
+					if ($object_name !== NULL)
 					{
 						$CI =& get_instance();
 						if ( ! isset($CI->$object_name))
@@ -1144,7 +1144,7 @@
 		// Was a custom class name supplied? If so we'll use it
 		$class = strtolower($class);
 
-		if (is_null($object_name))
+		if ($object_name === NULL)
 		{
 			$classvar = isset($this->_ci_varmap[$class]) ? $this->_ci_varmap[$class] : $class;
 		}
diff --git a/system/database/DB_driver.php b/system/database/DB_driver.php
index 1e5e8c6..2679139 100644
--- a/system/database/DB_driver.php
+++ b/system/database/DB_driver.php
@@ -993,7 +993,7 @@
 		{
 			return ($str === FALSE) ? 0 : 1;
 		}
-		elseif (is_null($str))
+		elseif ($str === NULL)
 		{
 			return 'NULL';
 		}
diff --git a/system/database/DB_query_builder.php b/system/database/DB_query_builder.php
index dc2c5e7..978fc6a 100644
--- a/system/database/DB_query_builder.php
+++ b/system/database/DB_query_builder.php
@@ -644,7 +644,7 @@
 				? $this->_group_get_type('')
 				: $this->_group_get_type($type);
 
-			if ( ! is_null($v))
+			if ($v !== NULL)
 			{
 				if ($escape === TRUE)
 				{
@@ -1202,7 +1202,7 @@
 	 */
 	public function limit($value, $offset = FALSE)
 	{
-		is_null($value) OR $this->qb_limit = (int) $value;
+		$value === NULL OR $this->qb_limit = (int) $value;
 		empty($offset) OR $this->qb_offset = (int) $offset;
 
 		return $this;
@@ -1382,7 +1382,7 @@
 			$this->from($table);
 		}
 
-		if ( ! is_null($where))
+		if ($where !== NULL)
 		{
 			$this->where($where);
 		}
@@ -1411,7 +1411,7 @@
 	 */
 	public function insert_batch($table = '', $set = NULL, $escape = NULL)
 	{
-		if ( ! is_null($set))
+		if ($set !== NULL)
 		{
 			$this->set_insert_batch($set, '', $escape);
 		}
@@ -1567,7 +1567,7 @@
 	 */
 	public function insert($table = '', $set = NULL, $escape = NULL)
 	{
-		if ( ! is_null($set))
+		if ($set !== NULL)
 		{
 			$this->set($set, '', $escape);
 		}
@@ -1633,7 +1633,7 @@
 	 */
 	public function replace($table = '', $set = NULL)
 	{
-		if ( ! is_null($set))
+		if ($set !== NULL)
 		{
 			$this->set($set);
 		}
@@ -1742,7 +1742,7 @@
 		// Combine any cached components with the current statements
 		$this->_merge_cache();
 
-		if ( ! is_null($set))
+		if ($set !== NULL)
 		{
 			$this->set($set);
 		}
@@ -1815,12 +1815,12 @@
 		// Combine any cached components with the current statements
 		$this->_merge_cache();
 
-		if (is_null($index))
+		if ($index === NULL)
 		{
 			return ($this->db_debug) ? $this->display_error('db_must_use_index') : FALSE;
 		}
 
-		if ( ! is_null($set))
+		if ($set !== NULL)
 		{
 			$this->set_update_batch($set, $index);
 		}
diff --git a/system/database/DB_result.php b/system/database/DB_result.php
index dfd8081..a044fd5 100644
--- a/system/database/DB_result.php
+++ b/system/database/DB_result.php
@@ -354,7 +354,7 @@
 			return;
 		}
 
-		if ($key !== '' && ! is_null($value))
+		if ($key !== '' && $value !== NULL)
 		{
 			$this->row_data[$key] = $value;
 		}
diff --git a/system/libraries/Email.php b/system/libraries/Email.php
index 1834be2..3a38645 100644
--- a/system/libraries/Email.php
+++ b/system/libraries/Email.php
@@ -1335,7 +1335,7 @@
 		for ($i = 0, $c = count($this->_attachments), $z = 0; $i < $c; $i++)
 		{
 			$filename = $this->_attachments[$i]['name'][0];
-			$basename = is_null($this->_attachments[$i]['name'][1])
+			$basename = $this->_attachments[$i]['name'][1] === NULL
 				? basename($filename) : $this->_attachments[$i]['name'][1];
 			$ctype = $this->_attachments[$i]['type'];
 			$file_content = '';
diff --git a/system/libraries/Form_validation.php b/system/libraries/Form_validation.php
index c405eb6..bbd0b52 100644
--- a/system/libraries/Form_validation.php
+++ b/system/libraries/Form_validation.php
@@ -511,7 +511,7 @@
 	{
 		foreach ($this->_field_data as $field => $row)
 		{
-			if ( ! is_null($row['postdata']))
+			if ($row['postdata'] !== NULL)
 			{
 				if ($row['is_array'] === FALSE)
 				{
@@ -583,7 +583,7 @@
 
 		// If the field is blank, but NOT required, no further tests are necessary
 		$callback = FALSE;
-		if ( ! in_array('required', $rules) && is_null($postdata))
+		if ( ! in_array('required', $rules) && $postdata === NULL)
 		{
 			// Before we bail out, does the rule contain a callback?
 			if (preg_match('/(callback_\w+(\[.*?\])?)/', implode(' ', $rules), $match))
@@ -598,7 +598,7 @@
 		}
 
 		// Isset Test. Typically this rule will only apply to checkboxes.
-		if (is_null($postdata) && $callback === FALSE)
+		if ($postdata === NULL && $callback === FALSE)
 		{
 			if (in_array('isset', $rules, TRUE) OR in_array('required', $rules))
 			{
diff --git a/system/libraries/Ftp.php b/system/libraries/Ftp.php
index b8729a9..dc6bbd2 100644
--- a/system/libraries/Ftp.php
+++ b/system/libraries/Ftp.php
@@ -266,7 +266,7 @@
 		}
 
 		// Set file permissions if needed
-		if ( ! is_null($permissions))
+		if ($permissions !== NULL)
 		{
 			$this->chmod($path, (int) $permissions);
 		}
@@ -320,7 +320,7 @@
 		}
 
 		// Set file permissions if needed
-		if ( ! is_null($permissions))
+		if ($permissions !== NULL)
 		{
 			$this->chmod($rempath, (int) $permissions);
 		}
diff --git a/system/libraries/Javascript.php b/system/libraries/Javascript.php
index 542a0ec..7f1d855 100644
--- a/system/libraries/Javascript.php
+++ b/system/libraries/Javascript.php
@@ -737,7 +737,7 @@
 	{
 		// JSON data can optionally be passed to this function
 		// either as a database result object or an array, or a user supplied array
-		if ( ! is_null($result))
+		if ($result !== NULL)
 		{
 			if (is_object($result))
 			{
@@ -823,7 +823,7 @@
 	 */
 	protected function _prep_args($result, $is_key = FALSE)
 	{
-		if (is_null($result))
+		if ($result === NULL)
 		{
 			return 'null';
 		}
diff --git a/system/libraries/Table.php b/system/libraries/Table.php
index 8656990..b77fcf1 100644
--- a/system/libraries/Table.php
+++ b/system/libraries/Table.php
@@ -291,7 +291,7 @@
 	{
 		// The table data can optionally be passed to this function
 		// either as a database result object or an array
-		if ( ! is_null($table_data))
+		if ($table_data !== NULL)
 		{
 			if (is_object($table_data))
 			{
diff --git a/system/libraries/Unit_test.php b/system/libraries/Unit_test.php
index de8c9bb..7a67c72 100644
--- a/system/libraries/Unit_test.php
+++ b/system/libraries/Unit_test.php
@@ -356,12 +356,12 @@
 	 */
 	protected function _parse_template()
 	{
-		if ( ! is_null($this->_template_rows))
+		if ($this->_template_rows !== NULL)
 		{
 			return;
 		}
 
-		if (is_null($this->_template) OR ! preg_match('/\{rows\}(.*?)\{\/rows\}/si', $this->_template, $match))
+		if ($this->_template === NULL OR ! preg_match('/\{rows\}(.*?)\{\/rows\}/si', $this->_template, $match))
 		{
 			$this->_default_template();
 			return;
diff --git a/system/libraries/User_agent.php b/system/libraries/User_agent.php
index 542deb7..1f4b2fa 100644
--- a/system/libraries/User_agent.php
+++ b/system/libraries/User_agent.php
@@ -158,7 +158,7 @@
 			$this->agent = trim($_SERVER['HTTP_USER_AGENT']);
 		}
 
-		if ( ! is_null($this->agent) && $this->_load_agent_file())
+		if ($this->agent !== NULL && $this->_load_agent_file())
 		{
 			$this->_compile_data();
 		}
diff --git a/system/libraries/Xmlrpc.php b/system/libraries/Xmlrpc.php
index c3c7690..9e60791 100644
--- a/system/libraries/Xmlrpc.php
+++ b/system/libraries/Xmlrpc.php
@@ -368,7 +368,7 @@
 	 */
 	public function timeout($seconds = 5)
 	{
-		if ( ! is_null($this->client) && is_int($seconds))
+		if ($this->client !== NULL && is_int($seconds))
 		{
 			$this->client->timeout = $seconds;
 		}
